#include "cJSON/cJSON.h"
#include "log/log.h"

int main() {
    // 1 生成json字符串
    // 创建一个空的json对象
    cJSON *root = cJSON_CreateObject();
    // 向对象中添加数据
    cJSON_AddStringToObject(root,"name","tom");
    cJSON_AddNumberToObject(root,"age",18);
    // 将对象转换为字符串
    char* json_str =  cJSON_PrintUnformatted(root);
    log_debug("json_str: %s",json_str);

    // 2 解析json字符串
    // 解析json字符串
    cJSON *root2 =  cJSON_Parse(json_str);
    //获取数据
    cJSON *nameobj = cJSON_GetObjectItem(root2,"name");
    cJSON *ageobj =cJSON_GetObjectItem(root2,"age");

    if (nameobj == NULL || ageobj == NULL) {
        log_error("parse json error");
        return -1;
    }
    char *name = nameobj->valuestring;
    int age = ageobj->valueint;
    log_debug("name: %s, age: %d",name,age);

    // 3 释放内存
    cJSON_Delete(root);
    cJSON_Delete(root2);
    return 0;

}